package main

import "fmt"

// 二分查找的函数
func BinaryFind(arr *[6]int, leftIndex int, rightIndex int, findVal int)  {

	if leftIndex > rightIndex {
		fmt.Println("找不到")
		return
	}

	middle := (leftIndex + rightIndex) / 2

	if (*arr)[middle] > findVal {

		// 说明我们要查找的数可能在 leftIndex -> middle - 1
		BinaryFind(arr, leftIndex, middle - 1, findVal)

	} else if (*arr)[middle] < findVal {

		// 说明我们要查找的数可能在 rightIndex -> middle + 1
		BinaryFind(arr, middle + 1, rightIndex, findVal)

	} else {

		fmt.Printf("下标=%v\n", middle)

	}

}

func main() {

	arr := [6]int {1, 8, 10, 89, 1000, 1234}

	BinaryFind(&arr, 0, 5, 89)

}